﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DbTaglio.SvcLayer
{
    /// <summary>
    /// Classe per ritornare i dati 
    /// </summary>
    /// <typeparam name="T"></typeparam>
    [Serializable]
    public class RetData<T>
    {
        public Exception Eccezione { get; set; }
        public bool HaErrori { get; set; }
        public bool IsNull { get; set; }
        public T Dati { get; set; }
        public IEnumerable<String> ErroriList { get; set; }

        //public object DatiObj = null;

        public RetData( T pResult)
        {
            Eccezione = null; ;
            HaErrori = false;
            Dati = pResult;
            IsNull = (pResult == null);
        }


        public RetData(Exception pEccezione )
        {
            Eccezione = pEccezione;
            HaErrori = true;
            Dati = default(T);
        }

        public RetData(Exception pEccezione, IEnumerable<String> pErrori)
        {
            Eccezione = pEccezione;
            HaErrori = true;
            Dati = default(T);
            ErroriList = pErrori;
        }

        public RetData( bool pHasErrors, T pResult)
        {
            Eccezione = null; ;
            HaErrori = pHasErrors;
            Dati = pResult;
        }

      

    }
}
